package com.inspinia.base.common.model;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 系统公用常量
 * Created by veblen on 2016/12/9.
 */
public class BaseConstants {

    public static final String APP_NAME = "inspinia";
    /**
     * 时间（精确到秒）的格式化字符串
     */
    public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";

    /**
     * 时间（精确到天yyyy-MM-dd）的格式化字符串
     */
    public static final String DATE_PATTERN = "yyyy-MM-dd";

    /**
     * 时间（精确到天yyyyMMdd）的格式化字符串
     */
    public static final String DATE_PATTERN_D = "yyyyMMdd";

    /**
     * utf-8字符集
     */
    public static final String URF8 = "utf-8";
    /**
     * 一天的毫秒数
     */
    public static final long ONE_DAY_MS = 1000 * 60 * 60 * 24;
    /**
     * 十分钟的毫秒数
     */
    public static final long TEN_MS = 1000 * 60 * 10;

    /**
     * 一分钟的毫秒数
     */
    public static final long ONE_MINUTE_MS = 1000 * 60;

    /**
     * 一个小时的毫秒数
     */
    public static final long ONE_HOUR_MS = TEN_MS * 6;

    /**
     * 30天
     */
    public static final long ONE_MONTH = 30 * 3600 * 24;

    /**
     * redis的key的失效时间,2分钟
     */
    public static final int REDIS_KEY_EXPIRE_2_M = 120;

    /**
     * redis的key的失效时间，10分钟。
     */
    public static final int REDIS_KEY_EXPIRE_10_M = 600;
    /**
     * redis的key的失效时间，30分钟。
     */
    public static final int REDIS_KEY_EXPIRE_30_M = 1800;
    /**
     * redis的key的失效时间，两小时。
     */
    public static final int REDIS_KEY_EXPIRE_TWO_HOUR = 60 * 60 * 2;

    /**
     * redis的key的失效时间，一天
     */
    public static final int REDIS_KEY_EXPIRE_ONE_DAY = 60 * 60 * 24;

    public static final String REQUEST_APP_SOURCE = "mobile";

    /**
     * 请求来源请求头
     */
    public static final String REQUEST_SOURCE_HEADER = "requestSource";

    private static List<Integer> buffer = Collections.synchronizedList(new ArrayList<>(1000));

    public static class ListThread implements Runnable {


        @Override
        public void run() {
            try {
                Thread.sleep(100L);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            buffer.add(1);
            System.out.println(buffer.size());
        }
    }

    public static void main(String[] args) throws InterruptedException {
        for (int i = 0; i < 1000; i++) {
            new Thread(new ListThread()).start();
        }

        Thread.sleep(50L);
        buffer.clear();
        System.out.println("清除" + buffer);
        while (true) {

        }
    }


}
